1. Field of the Invention
The present invention is directed to the field of accessing an Input/Output (I/O) device, such as a disk volume. It is more particularly directed to improving the performance of computer-implemented I/O operations that are directed to high performance disk drives, such as those having parallel access volumes features that operate in conjunction with the product marketed under the trademark IBM S/390®.
2. Description of the Background Art
On some disk systems, disk controllers and disks are capable of moving data at speeds several times faster than the channel connections that transmit the data between components of the computer, such as a processor, and the components of the disk controller. More particularly, slow channel transmission is a significant factor that may limit the performance of computer systems, such as the product marketed under the trademark IBM System/390® (S/390) and the associated disk systems. Disks, such as the direct access storage device sold under the trademark IBM Shark® 2105 (Shark®) that operate in conjunction with the S/390 may include a parallel access volumes feature that enables multiple I/O requests to be simultaneously directed to the disk. The parallel access volumes feature can help reduce the impact of slow channel transmission by enabling parallel access to multiple channels, herein referred to as “parallel channel paths” or “parallel disk paths,” that are connected to the same disk controller. More particularly the parallel access volumes feature, in conjunction with the product marketed under the trademark OS/390, allows multiple I/O requests to be directed to the same file simultaneously.
The Shark® disk systems available from IBM on the S/390 operating with the OS/390 have the following important performance characteristics. The parallel access volumes feature allows an increased throughput to a device if multiple I/O requests can be scheduled concurrently. I/O requests that transfer full tracks are significantly faster than those that transfer partial tracks. Sequences of write requests issued in increasing order of disk addresses execute more quickly than unordered requests. I/O requests that transfer data to different parts of a disk track are not executed concurrently. Applications that operate on the S/390 with the Shark® disk will typically execute I/O requests more efficiently if they are written to take advantage of these performance characteristics. “Tracks” are generally units of data located on a computer system disk that can be accessed with the disk read head in a certain position. Shark® disk units for the OS/390 emulate older disks, including the emulation of physical geometry. So, in a Shark® disk system, a track is a range of storage capacity based on earlier disk geometry.
By further explanation, disk volumes are units of data storage that typically include data and the information used to access and manipulate the data. High-performance software applications, such as a database, may optimize disk access performance by directly managing disk I/O that is typically associated with disk volumes. That is, complex applications may issue multiple direct I/O requests that bypass the serialization operations of general-purpose operating systems. The direct I/O requests may be serviced via the parallel access volumes facility by choosing an available, parallel path to a disk controller. It will be appreciated that the general-purpose operating system typically supports direct I/O requests that bypass serialization operations. Direct I/O access may be used to facilitate use of the parallel access volumes facility. The terms “disk volume” and “volume” will be used interchangeably herein.
Complex applications, such as a database, may be written to facilitate later porting of the application for operation on a variety of computer systems. For example, the application may include a system-dependent code module that, among other features, centralizes the I/O request handling of the application. However, when a complex application is ported to operate on the S/390 the I/O requests may not take full advantage of the performance characteristics, such as the parallel access volumes feature, of the IBM Shark®. That is, I/O requests associated with complex applications may not operate so that the advantages of the high-performance characteristics of the IBM Shark® are exploited. For example, such I/O requests may not be issued so that they are transferred in full tracks. Also, I/O requests may not be issued in increasing order of disk addresses. Further, I/O requests may be issued that transfer data to different parts of a disk track.
From the foregoing it will be apparent that there is still a need to improve performance of I/O operations issued by complex applications that operate on the S/390 and that are directed to high performance disk drives, such as the IBM Shark® that supports parallel access volumes capabilities.